//////////////////////////////////////////////////////////////////////////////////
//  说明:
//  ----------------------------------------------------------------
//  GND  电源地
//  VCC  3.3v电源
//  D0   PA0（SCL）
//  D1   PA1（SDA）
//  RES  PA2（SPI模块改成IIC模块需要接此引脚，IIC模块用户请忽略）
//  ----------------------------------------------------------------
//******************************************************************************/
#include "delay.h"
#include "sys.h"
#include "oled.h"
#include "bmp.h"
#include <stdio.h>
#include "usart.h"

int main (void)
{
	u8 t = ' ';
	// 务必要对system clock进行初始化，否则会被卡住
	delay_init();
	OLED_Init();
	// uart也需要初始化之后才能调用printf，因为需要指定波特率
	uart_init(9600);
	OLED_ColorTurn(0);	 //0正常显示，1 反色显示
	OLED_DisplayTurn(0); //0正常显示 1 屏幕翻转显示
	while (1)
	{
		printf("abc");
		OLED_ShowPicture(0, 0, 128, 64, BMP1, 1);
		OLED_Refresh();
		delay_ms(500);
		OLED_Clear();
		OLED_ShowString(8, 16, "KAIKEBA", 16, 1);
		OLED_ShowString(20, 32, "2021/10/13", 16, 1);
		OLED_ShowString(0, 48, "ASCII:", 16, 1);
		OLED_ShowString(63, 48, "CODE:", 16, 1);
		OLED_ShowChar(48, 48, t, 16, 1); //显示ASCII字符
		t++;
		if (t > '~')
			t = ' ';
		OLED_ShowNum(103, 48, t, 3, 16, 1);
		OLED_Refresh();
		delay_ms(500);
		OLED_Clear();
		OLED_ShowChinese(0, 0, 0, 16, 1);	//16*16 中
		OLED_ShowChinese(16, 0, 0, 24, 1);	//24*24 中
		OLED_ShowChinese(24, 20, 0, 32, 1); //32*32 中
		OLED_ShowChinese(64, 0, 0, 64, 1);	//64*64 中
		OLED_Refresh();
		delay_ms(500);
		OLED_Clear();
		// OLED_ShowString(0, 0, "ABC", 8, 1);	  //6*8 “ABC”
		// OLED_ShowString(0, 8, "ABC", 12, 1);  //6*12 “ABC”
		// OLED_ShowString(0, 20, "ABC", 16, 1); //8*16 “ABC”
		// OLED_ShowString(0, 36, "ABC", 24, 1); //12*24 “ABC”
		// OLED_Refresh();
		// delay_ms(500);
		OLED_ScrollDisplay(11, 4, 1);
	}
}
